Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

paddxs.uh Rd, Rx, Ry

Rd[31:16] = SATU(ZE(Rx[31:16], 17) + ZE(Ry[15:0], 17), 16) ;
Rd[15:0] = SATU(ZE(Rx[15:0], 17) + ZE(Ry[31:16], 17), 16);
{d, x, y} ∈ {0, 1, …, 15}

Rev1+

111

Rx

00000

Ry

001000001010

Rd

3

4

5

4

12

4

2

paddxs.sh Rd, Rx, Ry

Rd[31:16] = SATS(SE(Rx[31:16], 17) + SE(Ry[15:0], 17), 16) ;
Rd[15:0] = SATS(SE(Rx[15:0], 17) + SE(Ry[31:16], 17), 16);
{d, x, y} ∈ {0, 1, …, 15}

Rev1+

111

Rx

00000

Ry

001000000110

Rd

3

4

5

4

12

4

Description

Add together the top halfword of Rx with the bottom halfword of Ry and the bottom halfword of Rx with the top halfword of Ry. The resulting halfwords are saturated to unsigned halfwords (paddxh.uh) or signed halfwords (paddxh.sh) and then packed together in the destination regis- ter.

Status Flags:

Q:

Flag set if saturation occured in one or more of the partial operations.

V:

Not affected.

N:

Not affected.

Z:

Not affected.

C:

Not affected.